約 5,235,030 件
https://w.atwiki.jp/elisp/pages/14.html
数値リファレンスマニュアル 2進数・8進数・16進数で数値を扱うには 数値を2進数・8進数・16進数表現の文字列に変換するには 任意のビット位置の値を参照する 除算の商と余りを求める 絶対値を求める 小数点を切り上げ・切り捨て・四捨五入するには 三角関数を計算する 対数を計算する 平方根を求める 乱数を生成する 整数と浮動小数点を相互変換する(精度の変換) 数値 リファレンスマニュアル GNU Emacs Lispリファレンスマニュアル 数 Numbers - GNU Emacs Lisp Reference Manual 2進数・8進数・16進数で数値を扱うには 2進数、8進数、16進数はそれぞれ以下のように記述します。 #b10000 ;= 16 #o020 ;= 16 #x010 ;= 16 数値を2進数・8進数・16進数表現の文字列に変換するには 8進数、16進数はformat関数を使うことが出来ます (format "%o" 255) ;= "377" (format "%x" 255) ;= "ff" 2進数には対応していないので自前で用意する必要があります。 単に数値を文字列に変換する場合はnumber-to-string関数を使います。 (number-to-string 10) ;= "10" (number-to-string 3.14) ;= "3.14" (number-to-string (- e)) ;= "-2.718281828459045" 任意のビット位置の値を参照する 除算の商と余りを求める 商を求めるにはfloorもしくはtruncate関数を、 余りを求めるにはmodもしくは%関数を使用します。 (floor 10 3) ;= 3 (truncate 10 3) ;= 3 (floor -10 3) ;= -4 (truncate -10 3) ;= -3 (mod 10 3) ;= 1 (% 10 3) ;= 1 (mod -10 3) ;= 2 (% -10 3) ;= -1 絶対値を求める (abs 100) ;= 100 (abs -100) ;= 100 小数点を切り上げ・切り捨て・四捨五入するには 各関数ごとに返値が整数型のものと浮動小数点型のものがあります。 +∞の方向に丸め -∞の方向に丸め 0の方向に丸め 四捨五入 整数 ceiling floor truncate round 浮動小数 fceiling ffloor ftruncate fround (ceiling 3.5) ;= 4 (floor 3.5) ;= 3 (truncate 3.5) ;= 3 (round 3.5) ;= 4 三角関数を計算する (sin (/ pi 2)) ;= 1.0 (cos 0) ;= 1.0 (tan 0) ;= 0.0 対数を計算する (log e) ;= 1.0 (自然対数) (log10 10) ;= 1.0 (常用対数) 平方根を求める sqrt関数を使います。複素数には対応していません。 (sqrt 10) ;= 3.1622776601683795 ; CLライブラリを使う (require cl) (isqrt 10) ;= 3 乱数を生成する random 関数は疑似乱数を生成します。 引数を省略すると、0からシステムの最大値までの範囲のランダムな整数を返します。 (random N) ;= ; [0,N) の範囲の整数を返す 浮動小数を利用する場合はCLライブラリのrandom*関数を利用します。 (require cl) (random* 1.0) ;= [0, 1.0) の範囲の浮動小数を返す 整数と浮動小数点を相互変換する(精度の変換) (float number) この関数は、浮動小数点数に変換したnumberを返します。 (float 1);= 1.0
https://w.atwiki.jp/bonchu/pages/28.html
Lisp emacs機能の一つ リンク名 11月22日発表 -- たちのこ (2008-03-24 12 35 47) http //www6.atwiki.jp/rikokakei -- たちのこ (2008-03-24 12 36 17) 名前 コメント 24画像: attachref;
https://w.atwiki.jp/kobapan/pages/91.html
emacs/text-modeではタブをスペースに変換しない emacs/備忘録 emacs/emacs-evernote-modeのインストール emacs/mmm-modeのインストール emacs/install-elispのインストール emacs/auto-complete-modeのインストール emacs/折り返し表示 emacs/root用の.emacsファイル emacs/mewがCreating an SSL TLS connection...で固まる emacs/recentf-ext.el+anything.el emacs/対話的に確認しながら正規表現を構成して置換するvisual-regexp emacs/起動時に前回開いていたすべてのファイルを開き直す emacs/キーバインドの設定の仕方 emacs/cua-modeで矩形選択 emacs/texiファイルからinfoファイルを作成して使う emacs/eshell emacs/編集作業のキーバンド emacs/文字上書きOverwriteモード emacs/ctags
https://w.atwiki.jp/ntemacs/pages/48.html
■ Windows版 Emacs 共通の設定 (一部の設定を除き、Linux版 Emacs にも適用可能) 【お知らせ】 2021/12/16 追記 相互リンク。こちらも参考になると思います。 https //ploversky.net/archives/463 2020/04/23 追記 ワンショットモディファイアの機能を利用し、左右の Alt キーに IME の切替えを割り当てられるようにしました。Keyhac の設定と連携することで動作します。US のキーボードを利用している場合にお試しください。 なお、次の設定も同じ操作性にできるように見直しました。 Windows の操作を Emacs のキーバインドで行うための設定 (Keyhac版) 2020/04/13 追記 「IME を無効にするキー設定」と「IME を有効にするキー設定」を追加しました。初期設定では、「無変換」キーと「変換」キーを割り当てています。C-o の設定はトグル動作となっていますが、設定の中のコメントを見直すことで変更可能です。お勧めは、C-o のトグル設定は残して C-j に英数への切替えを設定するものです。日本語への切替えが C-o によるトグル操作による切替えの他、C-j C-o での一発切替えが可能となります。(helm 利用の際に C-j がバッティングしますが、C-o で逃げれます。) なお、次の設定も同じ操作性にできるように見直しました。 Windows の操作を Emacs のキーバインドで行うための設定 (Keyhac版) 2019/05/17 追記 wdired 利用時に C-o による日本語入力を可能とする設定を追加しました。 2018/08/12 追記 mozc-im-mode 変数をバッファローカル変数にする方法を make-variable-buffer-local 関数を使う方法から defvar-local で定義する方法に見直しました。Emacs-24.3 以降で有効な設定となります。 https //qiita.com/tadsan/items/9d287a57c26711387043 2018/01/04 追記 mozc-candidate-dispatch の advice が helm の仕様変更により動作しなくなっていましたので見直しました。この対応で、dired 利用時に + キーで動作する dired-create-directory でも日本語が正常に入力できるようになりました。 2017/05/04 追記 本設定は Windows Subsystem for Linux でも利用可能です。設定は次のページから始めてください。 emacs-mozc を動かすための設定(WSL 設定編) 2016/12/01 追記 次のページで報告されている問題について対策しました。 https //github.com/d5884/mozc-im/pull/1 2016/09/13 追記 5) で mozc_emacs_helper.exe に対し IME を ON にするために発行しているキーを「Hiragana」から「Hankaku/Zenkaku」に変更しました。この対応で、Google日本語入力のキー設定が「MS-IME」以外の「ことえり」などでも emacs-mozc を使えるようになりました。(ただし、「Hankaku/Zenkaku」キーは「Hiragana」キーと異なり、IME の ON/OFF をトグルするキーとなります。必要な場合に一度のみ発行するように注意して利用する必要があります。(本設定を利用すれば問題は発生しません。)) 2015/12/07 追記 本設定とは直接関係ありませんが、isearch でキルリングを張り付けるには、C-s RET C-y とすればいいのですね。知りませんでした..。 http //kouritool.com/itdiary/emacs%E3%81%A7%E5%BC%B5%E3%82%8A%E4%BB%98%E3%81%91%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E6%A4%9C%E7%B4%A2/ 【本題】 【重要】 WSL版 Emacs の利用者は、最初に「emacs-mozc を動かすための設定(WSL 設定編)」を参照してください。 【重要】 Windows版 Emacs の利用者は、事前に「emacs-mozc を動かすための設定(mozc_emacs_helper コンパイル編)」を参照してください。 【重要】 「emacs-mozc を動かすための設定(サーバ準備編)」を行う方法もありますが、特に理由がなければ mozc_emacs_helper.exe を利用する方法をお勧めします。 【重要】 Linux で mozc(Google日本語入力ではなく)を利用する場合は、次の対応を行った後、(共通)の設定を進んで下さい。 $ sudo apt install emacs-mozc-bin $ sudo apt install mozc-utils-gui NTEmacs で emacs-mozc を動かすための Emacs 設定編です。 以下は設定手順です。 1) (共通)melpa package から、mozc、mozc-im、mozc-popup をインストールする。 ※ mozc-candidate-style を overlay に設定した場合、動作が遅く使用に耐えません。これを改善するのが mozc-popup です。tabbar との相性も良いとの情報もあります。 ※ mozc-im を使うことで、isearch の中でも mozc による日本語入力が可能となります。 2) (共通)次のページから mozc-cursor-color.el をダウンロードし、~/.emacs.d/site-lisp 等の load 対象となるディレクトリ配下にサブディレクトリを作成し格納する。 https //github.com/iRi-E/mozc-el-extensions 3) (「サーバ準備編」利用の場合)サーバ準備編で git により作成された vagrant-emacs-mozc ディレクトリ以下に mozc-emacs-helper.sh というファイルがあるので、このファイルを ~/bin 等の PATH の通ったフォルダにコピーする。既存の Linux環境を利用する場合は、mozc-emacs-helper.sh の中身を確認し、Linuxマシンに自動ログインできるスクリプトに書き換える。置き換えるスクリプトは以下のようなもの。 ssh user @localhost -p port mozc_emacs_helper "$@" また、MinGW版 Emacs を利用している場合は、「fakecygpty を使うための設定」を利用し、fakecygpty-program-list に "mozc-emacs-helper.sh" を追加する。 4) (共通)init.el 等に以下の elisp の設定を追加する。 (require mozc-im) (require mozc-popup) (require mozc-cursor-color) (require wdired) (setq default-input-method "japanese-mozc-im") ;; popupスタイル を使用する (setq mozc-candidate-style popup) ;; カーソルカラーを設定する (setq mozc-cursor-color-alist ((direct . "red") (read-only . "yellow") (hiragana . "green") (full-katakana . "goldenrod") (half-ascii . "dark orchid") (full-ascii . "orchid") (half-katakana . "dark goldenrod"))) ;; カーソルの点滅を OFF にする (blink-cursor-mode 0) (defun enable-input-method ( optional arg interactive) (interactive "P\np") (if (not current-input-method) (toggle-input-method arg interactive))) (defun disable-input-method ( optional arg interactive) (interactive "P\np") (if current-input-method (toggle-input-method arg interactive))) (defun isearch-enable-input-method () (interactive) (if (not current-input-method) (isearch-toggle-input-method) (cl-letf (((symbol-function toggle-input-method) (symbol-function ignore))) (isearch-toggle-input-method)))) (defun isearch-disable-input-method () (interactive) (if current-input-method (isearch-toggle-input-method) (cl-letf (((symbol-function toggle-input-method) (symbol-function ignore))) (isearch-toggle-input-method)))) ;; IME をトグルするキー設定 (global-set-key (kbd "C-o") toggle-input-method) (define-key isearch-mode-map (kbd "C-o") isearch-toggle-input-method) (define-key wdired-mode-map (kbd "C-o") toggle-input-method) ;; IME を無効にするキー設定 (global-set-key (kbd "C- f1 ") disable-input-method) (define-key isearch-mode-map (kbd "C- f1 ") isearch-disable-input-method) (define-key wdired-mode-map (kbd "C- f1 ") disable-input-method) ;; (global-set-key (kbd "C-j") disable-input-method) ;; (define-key isearch-mode-map (kbd "C-j") isearch-disable-input-method) ;; (define-key wdired-mode-map (kbd "C-j") disable-input-method) ;; IME を有効にするキー設定 (global-set-key (kbd "C- f2 ") enable-input-method) (define-key isearch-mode-map (kbd "C- f2 ") isearch-enable-input-method) (define-key wdired-mode-map (kbd "C- f2 ") enable-input-method) ;; (global-set-key (kbd "C-o") enable-input-method) ;; (define-key isearch-mode-map (kbd "C-o") isearch-enable-input-method) ;; (define-key wdired-mode-map (kbd "C-o") enable-input-method) ;; mozc-cursor-color を利用するための対策 (defvar-local mozc-im-mode nil) (add-hook mozc-im-activate-hook (lambda () (setq mozc-im-mode t))) (add-hook mozc-im-deactivate-hook (lambda () (setq mozc-im-mode nil))) (advice-add mozc-cursor-color-update around (lambda (orig-fun rest args) (let ((mozc-mode mozc-im-mode)) (apply orig-fun args)))) ;; isearch を利用する前後で IME の状態を維持するための対策 (add-hook isearch-mode-hook (lambda () (setq im-state mozc-im-mode))) (add-hook isearch-mode-end-hook (lambda () (unless (eq im-state mozc-im-mode) (if im-state (activate-input-method default-input-method) (deactivate-input-method))))) ;; wdired 終了時に IME を OFF にする (advice-add wdired-finish-edit after (lambda ( rest args) (deactivate-input-method))) gnupack 等で W32-IME の設定がされている場合は、以下の箇所をコメント化してください。 gnupack-11系: 「@ime」セクション gnupack-12,13系: 「@ language - input method」セクション、「@ screen - cursor」セクション、「@ search - isearch」セクションの後半 MinGW版 Emacs を使っている場合は、以下の設定を追加してください。 ;; IME が ON の時、カーソルの移動が遅くなるのを改善する (setq w32-pipe-read-delay 10) helm を使っている場合は、以下の設定を追加してください。 (require cl-lib) ;; helm でミニバッファの入力時に IME の状態を継承しない (setq helm-inherit-input-method nil) ;; helm の検索パターンを mozc を使って入力した場合にエラーが発生することがあるのを改善する (advice-add mozc-helper-process-recv-response around (lambda (orig-fun rest args) (cl-loop for return-value = (apply orig-fun args) if return-value return it))) ;; helm の検索パターンを mozc を使って入力する場合、入力中は helm の候補の更新を停止する (advice-add mozc-candidate-dispatch before (lambda ( rest args) (when helm-alive-p (cl-case (nth 0 args) ( update (unless helm-suspend-update-flag (helm-kill-async-processes) (setq helm-pattern "") (setq helm-suspend-update-flag t))) ( clean-up (when helm-suspend-update-flag (setq helm-suspend-update-flag nil))))))) ;; helm で候補のアクションを表示する際に IME を OFF にする (advice-add helm-select-action before (lambda ( rest args) (deactivate-input-method))) 5) (「mozc_emacs_helper コンパイル編」利用の場合)init.el 等に以下の elisp の設定を追加する。 ;; Windows の mozc では、セッション接続直後 directモード になるので hiraganaモード にする (advice-add mozc-session-execute-command after (lambda ( rest args) (when (eq (nth 0 args) CreateSession) ;; (mozc-session-sendkey (hiragana))))) (mozc-session-sendkey (Hankaku/Zenkaku))))) 6) (「サーバ準備編」利用の場合)init.el 等に以下の elisp の設定を追加する。 ;; https //github.com/igjit/vagrant-emacs-mozc (setq mozc-helper-program-name "mozc_emacs_helper.sh") (setq mozc-helper-process-timeout-sec 10) 7) (「mozc_emacs_helper コンパイル編」利用の場合)mozc のキーバインドを設定する。 「Google日本語入力」のプロパティで、「キー設定」を「ことえり」に選択してください。「ことえり」は Emacsキーバインドをベースとしたキー設定となっており、更に以下のキーが近いキー位置で利用可能となっています。 C-i (文節を縮める) C-o (文節を伸ばす) C-j (ひらがなに表示切替) C-k (全角カタカナに表示切替) C-l (全角英数に表示切替) C-; (半角に表示切替) C- /C- (半角英数に表示切替) ※ ターミナルソフトから Emacs を利用する場合、C-;、C- 、C- は利用できません。他のキーに置き換えてご利用ください。 8) (「サーバ準備編」利用の場合)mozc のキーバインドを設定する。 Linuxサーバ の mozc のキーバインドの設定は mozc_tool というコマンドで行いますが、Vargent で作成した Linuxサーバには mozc_tool はインストールされていません。このため、Windows PC に「Google日本語入力」をインストールして 7) の設定を行い、設定した結果が格納されている以下のファイルを Linux 側の ~/.mozc ディレクトリにコピーすることで対応してください。ファイルをコピーした後は Linuxサーバを再起動してください。 c /Users/ user /AppData/LocalLow/Google/Google Japanese Input/config1.db コマンド実行手順は以下のとおりとなります。 $ ssh -p 2422 -i ~/.vagrant.d/insecure_private_key vagrant@127.0.0.1 mkdir -p ~/.mozc $ cd c /Users/ user /AppData/LocalLow/Google/Google Japanese Input $ scp -P 2422 -i ~/.vagrant.d/insecure_private_key config1.db vagrant@127.0.0.1 ~/.mozc $ cd gitした場所 /vagrant-emacs-mozc $ vagrant reload なお、Linuxサーバに mozc-utils-guiパッケージ をインストールすれば、mozc_tool コマンドの表示を Cygwin/X 等の Xサーバに表示させることができます。コマンドは以下のとおりです。 $ sudo apt install mozc-utils-gui $ /usr/lib/mozc/mozc_tool --mode=config_dialog ただし、「emacs-mozc を動かすための設定(サーバ準備編)」でインストールした Linuxサーバ では、LANG の設定をしただけでは日本語の表示はできないようです。 9) (共通)Emacs で C-o を入力することにより、mozc-emacs-helper が起動し、漢字が入力できることを確認する。 ※ 「emacs-mozc を動かすための設定(WSL 設定編)」から本ページに来た場合は、まだ漢字入力はできません。このまま進んでください。 10) (共通)Windows の IME の切換えキーで mozc を切り替えられるように調整する。 ※ Virtualbox の Linux で Emacs を動作させている場合は、本設定で利用している Keyhac は有効に機能しません。本設定は、Windows版 Emacs や Windows の Xサーバソフトを経由して Emacs を動作させている場合に有効な設定です。 Windows の IME の切換えキー(「半角/全角」(日本語キーボード用)や Alt-`(英語キーボード用))で mozc を切り替えられるようにするには、「Windows の操作を Emacs のキーバインドで行うための設定 (Keyhac版)」の併用を検討ください。(Fakeymacs extension の real-emacs を有効にしてください。)IME の切換えの対応のみ行いたい場合には、以下の設定が利用できます。設定の方法はコメントの URL を参照してください。 これらの設定は、NTEmacs(gnupack 含む)と Windows の Xサーバで動く Emacs で機能するようにしています。Windows の Xサーバで Emacs が動作しているかどうかは、ウィンドウのタイトルで判定しています。Emacs の設定でタイトルの表示内容を変更している場合には、re.search 内の検索する正規表現を調整することで対応してください。 # -*- mode python; coding utf-8-with-signature-dos -*- # http //qiita.com/hshimo/items/2f3f7e070ae75243eb8b import re from keyhac import * def configure(keymap) def is_real_emacs(window) if (window.getClassName() == "Emacs" or (window.getProcessName() in ["mstsc.exe", # WSLg "msrdc.exe", # WSLg "XWin.exe", # Cygwin/X "XWin_MobaX.exe", # MobaXterm/X "XWin_MobaX_1.16.3.exe", # MobaXterm/X "XWin_Cygwin_1.14.5.exe", # MobaXterm/X "XWin_Cygwin_1.16.3.exe", # MobaXterm/X "Xming.exe", # Xming "vcxsrv.exe", # VcXsrv "GWSL_vcxsrv.exe", # GWSL "GWSL_vcxsrv_lowdpi.exe", # GWSL "X410.exe", # X410 "Xpra-Launcher.exe", # Xpra ] and # ウィンドウのタイトルを検索する正規表現を指定する # Emacs を起動しているウィンドウを検索できるように、Emacs の frame-title-format 変数を # 次のように設定するなどして、識別できるようにする # (setq frame-title-format (format "emacs-%s - %%b " emacs-version)) # (別途公開している sglstart コマンドを利用している場合、%%b の後のスペースは必要) re.search(r"^emacs-", window.getText()))) return True else return False keymap_real_emacs = keymap.defineWindowKeymap(check_func=is_real_emacs) # IME 切り替え用のキーの置き換え keymap_real_emacs["(243)"] = keymap.InputKeyCommand("C-Yen") # 半角/全角 キー keymap_real_emacs["(244)"] = keymap.InputKeyCommand("C-Yen") # 半角/全角 キー keymap_real_emacs["A-(25)"] = keymap.InputKeyCommand("C-Yen") # Alt-` キー keymap_real_emacs["(29)"] = keymap.InputKeyCommand("C-F1") # 無変換 キー keymap_real_emacs["(28)"] = keymap.InputKeyCommand("C-F2") # 変換 キー # keymap_real_emacs["O-LAlt"] = keymap.InputKeyCommand("C-F1") # 左 Alt キーの単押し # keymap_real_emacs["O-RAlt"] = keymap.InputKeyCommand("C-F2") # 右 Alt キーの単押し 変更履歴 2014/10/30 このページを作成した。 2014/11/02 minibuffer-setup-hook の設定を追加した。 2014/11/04 wdired を使う際の設定を追加した。 2014/11/18 「emacs-mozc を動かすための設定(mozc_emacs_helper コンパイル編)」に対応した。 2014/11/20 IME が ON の時、カーソルの移動が遅くなる対策を追加した。(w32-pipe-read-delay の値を デフォルトの 50 から 10 に変更した。) 2014/11/24 minibuffer-setup-hook 内の unless の判定を Emacs-24.3 以前のバージョンでも有効なものに変更した。 2014/11/27 helm の検索パターンを mozc を使って入力した場合にエラーが発生することがある対策を追加した。 2014/11/29 helm の検索パターンを mozc を使って入力する場合、入力中は helm の候補の更新を停止するようにした。 2014/12/12 helm で候補のアクションを表示する際に IME を OFF にするようにした。 2015/01/17 mozc-popup を最新と思われるサイトのものの利用に変更した。 2015/03/11 mozc-helper-process-recv-response のアドバイスの内容を簡略化した。 2015/07/22 Emacs-24.3 以上の対応の記載とした。 2015/09/10 advice を Emacs-24.4 以降の書式に見直した。 2015/10/30 mozc-im を利用するように設定を全面的に見直した。 2015/11/12 mozc-candidate-dispatch の advice を一度削除していたが、やはりあるべき設定のようなので復活させた。 2015/12/28 keyhac の設定の内容を、Keyhac for Windows ver 1.70 用に見直しをした。 2016/12/01 https //github.com/d5884/mozc-im/pull/1 で報告されている問題について対策した。 2017/07/11 Emacs で mozc を利用する際に Windows の IME の切換えキーを mozc の切り替えキーとして機能させるための設定を見直した。 2017/12/21 keyhac の設定で import re の行が不足していたので、追加した。 2019/05/17 wdired 利用時に C-o による日本語入力を可能とする設定を追加した。 2020/04/13 「IME を無効にするキー設定」と「IME を有効にするキー設定」を追加した。 2020/04/19 ワンショットモディファイアの機能を利用し、左右の Alt キーに IME の切替えを割り当てられるようにした。
https://w.atwiki.jp/emaxser/pages/16.html
関西Emacs勉強会 #5 Emacsでアプリケーション開発 @kiwanami Emacsカスタマイズ- 自前関数、コマンド- |壁|- メジャーモード- Emacsアプリケーション Emacsアプリケーションはいろいろ、独自なのでしらべていちいちやっていかなければならない Emacsアプリ開発のとっかかり バッファ- ファイル、データ フレーム- ウィンドウ = それぞれにデータをむすびつけることが出来る セッションデータ- Emacsでアプリ動作時にどぞんしてるでーた、 永続データ-アプリケーションがいに保存される バッファにいもつけたい場合- バッファローカル バッファにまたがる場合- グローバルデータ グローバルはさけて、狭いスコープ 複数起動、組合せ- bバッファローカル、クロージャー アプリケーションの境界がバッファ - バッファごとに独立してる バッファ間の関係 - 独立が親子関係か、全部Killするべきか、 バッファがたくさんある場合のウィンドウの管理 -自動制御だと混ぜられない UI部品 - ボタン - 形、キーマウス - avtion-lock - レイアウト - 固定幅フォント、ウィンドウ幅、高さ - 寄 - ホップアップメニュー - 普通のめにゅー - テーブル - 自前実装が多い - ctable.el - ツリー - tree-widget - dire-x.el - フォーム - widgetが独自実装 - Emacs標準添付 - 歴史がふるく、かなり独自実装 - 作り手にとってはかなりつらい EmacsLisp言語方面 - GUIはOOPのノウハウが多い - Emacsでのオブジェクトシステム - defstruct.eieio - 独自OOP実装が多い - luna,widget.ewoc.e2mv - eieioの標準添付で統一されるかも? 現状のまとめ - あんまりつかいやすいとは言えない - CLOS知らなくても出来るが、後で便利 - Emacs上でのUI構築がまだまだ発展途上 - フォームを作る場合はwidgetしかない JSの現状とそんなにかわらない! Emacsで幸せ生活を org-mode マニュアル日本語翻訳について @takaxp はじめに Emacs大好き ただ、なんでもEmacsでやっちゃうのは、、、、みたいな - Emacsが得意な所 - ちょっとした計算 - ちょっとプレゼン - ちょっと記を書く - ちょっと音楽を聞く - 予定表を管理 - ちょっと時間を測る、アラームを設定する - 関西Emacs - Twitterなどで出会った - org-modeとのであい - GTDを管理したかった - GTD 知的労働者の不可軽減方法 - RTM 管理多少が増えるとおっく、 - GUIの限界 - OmniFocus 高い 脅威の完成度 - org-mode - 1行が1タスク とじられるので、一行にみえてわかりやすい - 高機能すぎ - 日本語のドキュメントガ欲しい - ちょっとふるいのがる - 問題 - 本家の更新がはやすぎる 一人で翻訳はむり - 他人をまきこむ - 作業量が多い - メンテナガ翻訳体制を管理 [[http //orgmode.org/ja/org-mode-documentation.html][日本語ページ]] quickrun.elの紹介 @syohex - って何? - quickrun.vimのようなものをemacsにも - 各言語をコマンド一発で実行 - プログラムを書く人なら - ちいさいプログラムの動作をはやく - 端末に移動する回数を減らせる - 対応言語 - 使ってもらえるようにふやした! - 新しい言語にも対応がかんたん、 - outputter - 結果の出力を行うためのもじゅーる 快適Emacs Lisp生活を目指して @uk_ar - 快適EmacsLisp生活とは? - 括弧を楽に入力したい paredit.elは挫折 - flex-autopair.el parediteに挫折した人向け 閉じ括弧を自動挿入 括弧の対応は人で 動きをモード毎にかすたまいず出来る - スペニット - 登録したものをわすれちゃう - auto-completeと設定追 - 途中まで打てば候補がでる 多様なelispインストール手法に関する一考察 @kozo2 - ナイスelispをインストール、updateしないわけにはいかない! - インストール手法 - auto-install.el 基本的に指定したURLから1つのelispを指定dirにダウンロード、イントールできる 最もシンプル EmacsWikiの物が最新とはかぎらない - el-get.el さまざまなelisp配布携帯に対応させるrecipeに基ずいてインストールする レシピを書けばなんでも出来る あんまり、レシピって初心者向けじゃないよね - package.el パッケージアーカーブサイトからelispをインストールする 格パッケージのバージョンなどがEmacsから確認できる elisp配布者との間にパッケージ管理サイトが入るので、最新であるとは限らない - my設定リポジトリ内で完結させる 自分のリポジトリ内にぶっこむ gitなどの知識が必要 - bundle.el gitでelispのリポジトリとってきて、load-pathを通す
https://w.atwiki.jp/ochamemo/pages/15.html
オチャメモ 自分のホームディクレクトリにlispファイルを置き、これを起動時に読み込ませる方法。 ナローモード ファイルの再読み込み elispの置き場所 バイトコンパイル 移動 SHELLのキーバインド キーバインド一覧の表示 モードラインの一番左に表示されている記号(3文字)の見方 改行コード・文字コードの変更 タブ変換 拡張子とメジャーモードの対応付け 対応した括弧に飛ぶ 位置を保存して、後でジャンプ REDOしたい 読み直し EcmaScript UTF8(debian) コントロールコードの入力 リンク 自分のホームディクレクトリにlispファイルを置き、これを起動時に読み込ませる方法。 単にload-pathにディレクトリを追加しただけではサブディレクトリが追加されない。サブディレクトリも追加させるためには一工夫必要。 以下に~/elispなどをつくりその下にlispファイルを放り込む場合を示す。 EMACS_HOME/site-lisp/subdirs.elをコピーしてelisp下におく。 下記を.emacsなどに書く (let ((dir (expand-file-name "~/elisp"))) (if (member dir load-path) nil (setq load-path (cons dir load-path)) (let ((default-directory dir)) (load (expand-file-name "subdirs.el") t t t)))) http //lists.sourceforge.jp/mailman/archives/macemacsjp-users/2006-March/001038.html ナローモード C-xnn C-xnw ファイルの再読み込み C-x C-v elispの置き場所 /usr/share/emacs/site-lisp かと思ったがいかが正しいっぽい /usr/share/local/share/emacs/site-lisp バイトコンパイル M-x byte-compile-file で、ファイルを選択 移動 とりあえず以下を読むhttp //homepage1.nifty.com/blankspace/emacs/motion.html SHELLのキーバインド http //user.ecc.u-tokyo.ac.jp/~s41024/emacs.html キーバインド一覧の表示 M-x describe-bindings モードラインの一番左に表示されている記号(3文字)の見方 「-EEE -」の場合、左から 1番目:キーボード入力-2番目:画面表示-3番目:ファイル入出力-最後の記号:改行コード|J|JIS| S SJIS E EUC LF(Unix) (DOS) CR-LF(MS-DOS) (Mac) CR(Macintosh) 改行コード・文字コードの変更 キーボードから入力する文字コード C-x RET-k 画面表示に使用する文字コード C-x RET-t ファイルの保存に使用する文字コード(カレントバッファのみ) C-x RET-f バッファやファイルの文字コード(emacs全体で有効) C-x RET-c http //www.clip.gr.jp/~imai/PukiImaiWiki/index.php?emacs%2F%B4%C1%BB%FA%A5%B3%A1%BC%A5%C9%A4%CE%CA%D1%B9%B9%CA%FD%CB%A1 タブ変換 領域指定して、 空白をタブに M-x tabify タブを空白に M-x untabify java-modeでタブを必ず空白に(add-hook ’java-mode-hook (lambda () (setq tab-width 4 indent-tabs-mode nil case-fold-search nil))) 拡張子とメジャーモードの対応付け 以下のようにまとめて記述すればよい (setq auto-mode-alist (append ( ("\\.h$" . c++-mode) ("\\.hpp$" . c++-mode) ("\\.txt$" . text-mode) ("\\.message$" . text-mode) ("\\.htm" . html-helper-mode) ("\\.shtml$" . html-helper-mode) ("\\.php" . html-helper-mode) ) auto-mode-alist)) 対応した括弧に飛ぶ M-C-p or M-C-n 位置を保存して、後でジャンプ C-SPC で位置保存 C-u C-SPC で保存した位置にジャンプ REDOしたい 以下を参考にelispをインストール http //www.fan.gr.jp/~ring/Meadow/meadow.html 読み直し M-x find-alternate-file (C-x C-v) EcmaScript http //www.emacswiki.org/cgi-bin/wiki/download/ecmascript-mode.el (autoload ecmascript-mode "ecmascript-mode" "ECMAScript" t) (setq auto-mode-alist(append (("\\.as$" . ecmascript-mode)) auto-mode-alist)) UTF8(debian) apt-get install mule-ucs コントロールコードの入力 C-q コントロール文字 リンク 電子書籍--http //www.bookshelf.jp/soft/meadow_toc.html#SEC_Contents なかなか小技の効いた感じ--http //homepage1.nifty.com/blankspace/index.html
https://w.atwiki.jp/oxon/pages/66.html
Emacs Unixで長い歴史を持つ定番のエディタである。OS Xにも/usr/binに標準でインストールされている。 キーバインディング Cocoa?で記述されたアプリケーションのキーバインディングは、bashやEmacsの主要なキーバインディングと一致する。そのため、Cocoaのキーバインディングに慣れたユーザにとっては、Emacsは馴染みやすいエディタであろう。 X Window System対応 /usr/bin/emacsはコンパイル時のフラグのせいで、X Window Systemでの使用ができない。そのため、-nwオプションをつけたのと同じ動作しかしてくれない。X Window System上でEmacsを使用したいユーザは、Finkから導入するのが簡単である。 日本語入力 Carbon Emacsをインストールすることで、ことえり?やATOK?での日本語入力に対応する。またFinkなどからCannaなどを導入することもできる。 Leopardからは、Terminal.appで起動したEmacsが日本語入力を受け付けるようになった。そのため、LeopardでEmacsを使う分には、普段使用していることえり?がそのまま使えるので、Carbon Emacsなどを導入しなくともよい。 Last Updated 2008-04-11
https://w.atwiki.jp/nkym_memo/pages/28.html
.emacs(ドットemacs;emacs 設定ファイル) ホームディレクトリ(/home/(user),~/) 内に配置 または~/.emacs.dl 、~/.emacs.d/initi.el も初期化ファイルにすることができる 優先順位は ~/.emacs.dl ~/.emacs ~/.emacs.d/init.el .emacs 基本的な設定 ;;;スタートアップを非表示 (setq inhibit-startup-screen -1) ;;;ビープ音を消す (setq ring-bell-function ignore) ;;;ツールバーを非表示 (tool-bar-mode -1) ;;;メニューバーを非表示 (menu-bar-mode -1) ;;;Xでのクリップボードを共有 (setq x-select-enable-clipboard t) ;;; 行の先頭でC-kを一回押すだけで行全体を消去する (setq kill-whole-line t) ;;; 対応する括弧を光らせる (show-paren-mode 1) ;; 現在行に色をつける (global-hl-line-mode 1) ;; その行の色 (set-face-background hl-line "DarkSeaGreen1") ;;; バックアップファイルを作らない (setq backup-inhibited t) ;;; タイトルバーにファイル名を表示する (setq frame-title-format (format "emacs@%s %%f" (system-name))) ;;; カーソルの位置が何文字目かを表示する (column-number-mode t) ;;; yes-or-noをy-or-nに省略 (defalias yes-or-no-p y-or-n-p) ;; 履歴を次回Emacs起動時にも保存する (savehist-mode 1) ;;; 圧縮されたファイルも編集できるようにする (auto-compression-mode t) フレーム設定 ;;; 初期フレームの設定 (setq initial-frame-alist (append ( (width . 47) ; フレーム幅(文字数) (height . 63)) ; フレーム高(文字数) initial-frame-alist)) ;;; 新規フレームのデフォルト設定 (setq default-frame-alist (append ((width . 47); フレーム幅(文字数) (height . 63)); フレーム高(文字数) default-frame-alist)) ファイル更新日の自動更新 ;;; ファイル更新日を自動的に書き換える。 ;;; ファイルの上から8行目以内に "Last Updated "をつけくわえる ;;; そしてLast Updated の後に空白2つ以上いれると置換 ;;; 日本語で日付を入れたくないのでlocaleをCにする ;;; 例)2010/06/30 Wed 16 20 12 (require time-stamp) (defun time-stamp-with-locale-c () (let ((system-time-locale "C")) (time-stamp) nil)) (if (not (memq time-stamp-with-locale-c write-file-hooks)) (add-hook write-file-hooks time-stamp-with-locale-c)) (setq time-stamp-active t) (setq time-stamp-start "Last Updated ") (setq time-stamp-format "%04y/%02m/%02d %3a %02H %02M %02S") (setq time-stamp-end " ") キーバインドの変更 ;;;「Alt-g 行数」で指定の行に移る (global-set-key "\M-g" goto-line) ;;; undoをC-zに (global-set-key "\C-z" undo) ;;; hippie-expandをC-;に (global-set-key [?\C-;] hippie-expand) ;;; M-x compile を C-. に (global-set-key [?\C-\.] compile) ;;; ウィンドウの移動をM-tに (global-set-key "\M-t" other-window) ;;; C-hをBackSpaceに (global-set-key "\C-h" delete-backward-char) .emacsのログ 2014.10.08 2011.10.20 2011.07.08 2010.11.16 2010.11.22 2010.12.16 2010.12.20
https://w.atwiki.jp/kobapan/pages/49.html
概要 User Option case-fold-search このバッファローカルな変数は、大文字小文字を区別して探索するかどうかを決定する。変数がnilであると大文字小文字を区別する。さもなければ大文字小文字を区別しない。 デフォルトでは、Emacsの探索は探索対象テキストの大文字小文字を区別しません。 `FOO を探す指定を行うと、 `Foo や`foo にも一致するとみなします。これは、正規表現にも適用されます。したがって、`[aB] は、`a や`A や`b や`B に一致します。 この機能を望まないときには、変数case-fold-searchにnilを設定します。すると、すべての文字は大文字小文字を保ってそのとおりに一致します。これはバッファローカルな変数ですから、変数を変更してもカレントバッファだけに影響します。 @see Emacs-Lisp/case-replace 呼出元 grass.el(0.1.8)/defun grass-parse unless (2009-07-17 03 41 11) コメント 履歴 作者:kobapan 日付:2009/01/03 対象: 更新日 更新者 更新内容 コメント 名前 コメント
https://w.atwiki.jp/trinityt/pages/15.html
Emacs テクニック 空行削除 M-x → flush-lines → ^$ 置換時に改行指定 C-q C-j 簡易キーバインドシート 上下左右へ移動 C-p, C-n, C-b, C-f 行頭・行末へ移動 C-a, C-e 1画面進む・戻る C-v, M-v ファイルの先頭・最後へ M- , M- 操作キャンセル C-g 強制終了 C-x C-c 一時中断 C-z (復帰はシェルからfg) カーソルのある1文字削除 C-d アンドゥ C-x u カーソル位置から行末まで削除 C-k カーソル位置にマーク C-SPC リージョンをカット C-w (C-SPCとの合わせ技) リージョンをコピー M-w (C-SPCとの合わせ技) ペースト C-y 履歴ペースト C-y 後に M-y ファイル読み込み C-x C-f 上書き保存 C-x C-s 指定ファイルに保存 C-x C-w ウィンドウを縦に2分割 C-x 2 別のウィンドウを消す C-x 1 ウィンドウ間でカーソル移動 C-x o バッファのリスト C-x C-b インクリメンタル検索 C-s 文字列検索 M-x occur 文字列置換 M-% カーソル以降置換 M-x replace-string .emacs ;;; X-Setting (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won t work right. (column-number-mode t) (current-language-environment Japanese ) (display-time-mode t) (scroll-bar-mode (quote right)) (show-paren-mode t)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won t work right. (default ((t ( inherit nil stipple nil background black foreground white inverse-video nil box nil strike-through nil overline nil underline nil slant normal weight normal height 110 width normal foundry unknown family IPAGothic ))))) ;;; デフォルトload-path (add-to-list load-path ~/.emacs.d/elisp ) ;;; 基本設定 (setq-default tab-width 4) ;;tab4文字 (setq scroll-conservatively 35 scroll-margin 0 scroll-step 1) ;;スクロール量を1にする (setq line-number-mode t) ;;カーソル行番号表示 (setq inhibit-startup-message t) ;;スタートアップメッセージ非表示 (display-time) ;;auto-compression-mode t) ;;日本語info文字化け防止 (show-paren-mode 1) ;;対応括弧ハイライト (setq make-backup-files nil) ;;; *.~ とかのバックアップファイルを作らない (setq auto-save-default nil) ;;; .#* とかのバックアップファイルを作らない (setq x-select-enable-clipboard t) ;;; Kill-ringとXのclipboardを共有する ;;; F11でfullscreenを切り替えられるようにする (defun switch-full-screen () (interactive) (shell-command wmctrl -r ACTIVE -btoggle,fullscreen )) (global-set-key [f11] switch-full-screen) ;;; メニューを日本語化 (require menu-tree) ;;; line-number表示 (require linum) (global-linum-mode t) (setq linum-format %5d ) ;; Interactively Do Things (highly recommended, but not strictly required) (require ido) (ido-mode t) ;;; IIIMECF設定 (add-to-list load-path ~/.emacs.d/elisp/iiimecf ) (setq iiimcf-server-control-hostlist (list (concat /tmp/.iiim- (user-login-name) / 0.0 ))) (setq iiimcf-server-control-default-language ja ) (setq iiimcf-server-control-default-input-method atokx3 ) (setq default-input-method iiim-server-control) (require iiimcf-sc) (global-set-key [?\S-\ ] toggle-input-method) ;; Rinari (add-to-list load-path ~/.emacs.d/elisp/rinari ) (require rinari) ;;; rhtml-mode (add-to-list load-path ~/.emacs.d/elisp/rhtml ) (require rhtml-mode) (add-hook rhtml-mode-hook (lambda () (rinari-launch))) ;;; emacs-nav (add-to-list load-path ~/.emacs.d/elisp/emacs-nav ) (require nav) (global-set-key \C-x\C-d nav-toggle) ;;; elscreen (add-to-list load-path ~/.emacs.d/elisp/elscreen ) (require elscreen) IIIMECFについて ATOK標準のキーバインドを使用可能とするため、iiimcf.el(IIIMECF付属)に以下のパッチを当てる。 パッチの当て方 $ patch iiimcf.el iiimcf.patch iiimcf.patch --- lisp/iiimcf.el 2007-12-23 03 33 55.000000000 +0900 *************** *** 284,289 **** --- 284,302 ---- (defvar iiimcf-keycode-spec-alist `((13 10 0) + + (11 37 65535) ; Ctrl + k + (12 39 65535) ; Ctrl + l + (14 40 65535) ; Ctrl + n + + (21 117 65535) ; Ctrl + u + (9 118 65535) ; Ctrl + i + (15 119 65535) ; Ctrl + o + (16 120 65535) ; Ctrl + p + + (2 38 65535) ; Ctrl + b + (7 27 65535) ; Ctrl + g + (32 32) ,@(mapcar # (lambda (x) (list x x 0)) (iiimcf-numseq 1 31))